// 定义变量保存验证码

Page({
  data: {
    mobile: '',
    countDownVisible: true,
  },

  countDownChange(ev) {
    this.setData({
      timeData: ev.detail,
      countDownVisible: ev.detail.minutes === 1 || ev.detail.seconds > 0,
    })
  },
  // 验证手机号格式
  verifyMobile() {
    // 宽松的验证规则
    const reg = /^[1][3-8][0-9]{9}$/
    // 正则验证（去除两端空格）
    const valid = reg.test(this.data.mobile.trim())
    // 验证结果提示
    if (!valid) wx.utils.toast('请填写正确的手机号码!')
    // 返回验证结果
    return valid
  },
  // 获取短信验证码
  async getCode() {
    // 验证手机号码格式是否正确
    if (!this.verifyMobile()) return
    // 请求数据接口
    const {
      code,
      data
    } = await wx.http.get('/code', {
      mobile: this.data.mobile.trim()
    })
    // 验证接口返回结果
    if (code !== 10000) return wx.uitls.toast('发送失败, 请稍后重试!')
    // 发送验证码成功
    wx.utils.toast('发送成功, 请查收短信!')
    // 开始倒计时
    this.setData({
      countDownVisible: true
    })
    // 记录验证码等待复制到粘贴板（仅用于测试环境）
    secret_code = data.code
  },
  // 复制验证码到粘贴板
  copyCode() {
    wx.setClipboardData({
      data: secret_code
    })
  }
})